package com.designpatterns.factory.factory3.factory;

import com.designpatterns.factory.factory3.rawmaterial.*;
import com.designpatterns.factory.factory3.rawmaterial.veggies.MushroomChicago;
import com.designpatterns.factory.factory3.rawmaterial.veggies.OnionChicago;
import com.designpatterns.factory.factory3.rawmaterial.veggies.RedpepperChicago;
import com.designpatterns.factory.factory3.rawmaterial.veggies.GarlicChicago;

/**
 * @author Brook
 */
public class ChicagoPizzaIngredientFactory implements PizzaIngredientFactory{
    @Override
    public Dough createDough() {
        return new ThinChicagoCrustDough();
    }

    @Override
    public Sauce createSauce() {
        return new MarinaraChicagoSauce();
    }

    @Override
    public Cheese createCheese() {
        return new ReggianoChicagoCheese();
    }

    @Override
    public Veggies[] createVeggies() {
        return new Veggies[]{new GarlicChicago(), new OnionChicago(), new MushroomChicago(), new RedpepperChicago()};
    }

    @Override
    public Pepperoni createPepperoni() {
        return new SlicedChicagoPepperoni();
    }

    @Override
    public Clams createClams() {
        return new FreshChicagoClams();
    }
}
